package com.sisgesbyte.web.managedBean.tecnico;

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

import com.sisgesbyte.common.ConstantesInternasSistema;
import com.sisgesbyte.services.sistema.MantenimientoModulo;
import com.sisgesbyte.services.sistema.bean.ListaTipoModulosResponse;
import com.sisgesbyte.services.sistema.bean.TipoModuloBean;

@ManagedBean
@ViewScoped
public class TipoModulosMBean implements Serializable{

	private static final long serialVersionUID = 1L;
	
	@EJB
	private MantenimientoModulo mantenimientoModulo;
	
	private List<TipoModuloBean> listaTipoModulos;
	
	@PostConstruct
	public void init(){
		
		inicializar();
	}

	public List<TipoModuloBean> getListaTipoModulos() {
		return listaTipoModulos;
	}

	public void setListaTipoModulos(List<TipoModuloBean> listaTipoModulos) {
		this.listaTipoModulos = listaTipoModulos;
	}
	
	public void inicializar(){
		try{
			ListaTipoModulosResponse listaTipo = mantenimientoModulo.mostrarListaTipoModulo(ObtenerIdTransaccion());
		
			if(listaTipo.getCodigoRespuesta().equals(ConstantesInternasSistema.CODIGO_EXITO)){
				
				setListaTipoModulos(listaTipo.getListaTipoModulos());
			}else{
				System.out.println("No se encontro Datos " + listaTipo.getCodigoRespuesta() + " - " + listaTipo.getMensajeRespuesta());
			}
		
		}catch(Exception e){
			System.out.println("Error en el proceso " + e);
		}
	}
	
	public String ObtenerIdTransaccion(){
		
		FacesContext fCtx = FacesContext.getCurrentInstance();
		HttpSession session = (HttpSession) fCtx.getExternalContext().getSession(false);
		String sessionId = session.getId().replace(".undefined", "");
				
		return sessionId;
	}

}
